class Watcher{
    constructor(vm,key,callback){
        this.vm = vm
        this.key = key
        // 这里传递过来的callback用来更新视图
        this.callback = callback
        Dep.target = this
        // 记录旧值
        this.oldValue = vm[key]
        Dep.target = null
    }

     // 当数据发生变化大的时候更新视图
     update(){
        // 获取改变后的新值
        let newValue = this.vm[this.key]
        if(newValue === this.oldVable){
            return
        }
        this.callback(newValue)
    }
}